Low complexity maximum-likelihood-based method for estimating emitted symbols in a sm-mimo receiver

ABSTRACT

A receiver estimates a vector of emitted symbols over a MIMO transmission channel which are emitted by a emitting antennas. The receiver receives a vector of received symbols on receiving antennas. Estimation of the vector of emitted symbols is made by calculating a metric associated with a criterion for each vector of a subset of all possible vectors of emitted symbols and selecting an estimation for said vector of emitted symbol as the vector of emitted symbols among said subset which minimizes said metric.

PRIORITY CLAIM

This application claims priority from European Application for Patent No. 13306054.1 filed Jul. 23, 2013, the disclosure of which is incorporated by reference.

TECHNICAL FIELD

The invention relates to telecommunication systems, and more particularly to signal decoding by a receiver in multiple-input-multiple-output (MIMO) systems.

BACKGROUND

Multiple-input-multiple-output (MIMO) systems are a telecommunication architecture where both the emitter and the receiver have several antennas, in order to improve communication performances. Different possibilities exist to make use of such architecture, including antenna diversity and spatial multiplexing.

Multiple-input-multiple-output (MIMO) systems using spatial multiplexing (SM) allows reaching higher performances (i.e. bitrate) than MIMO systems using diversity technique. However, the receiver's task of decoding the received signal is very complex.

In general, the receiver decodes the received signal by looking for a best estimate thanks to maximum likelihood (ML) detection methods. This task is very problematic for the receiver as the number of antennas increases due to the huge number of possible multiplexing combinations.

Some solutions known in the art which make use of ML criteria are based on QR decomposition technique. QR decomposition consists in transforming a matrix A into a product A=Q·R where Q is an orthogonal matrix and R is an upper triangular matrix.

Among the solutions based on ML decoding, one can mention sphere decoding and QRM-MLD.

The sphere decoding method is a search algorithm consisting in exploring all the lattice points inside a hypersphere centered at the received symbol vector. One of the most efficient known sphere decoding algorithms has been proposed in the article “A universal lattice code decoder for fading channels” by Emmanuel Viterbo and Joseph Boutros, in IEEE Transactions on Information Theory, vol. 45, no. 5, July 1999, the disclosure of which is incorporated by reference.

Sphere decoding allows decreasing the complexity, but it still suffers of major drawbacks: for instance, the algorithm is very dependent on the initial value for the search radius: if the search radius is chosen too small, there may be no solution in the hypersphere, but if the search radius is chose too large, the number of points to explore may become too large and the algorithm will encounter the same issue as ML-based detection algorithms.

Furthermore, the algorithm cannot be parallelized on a hardware platform, preventing it to be efficiently used in a real-time high data rate context. Also, its complexity is very dependent on the signal-to-noise ratio (SNR) and on the channel modeling parameters used for implementing the algorithm.

Another set of solutions known in the art are based on the so-called “QRM-MLD” techniques, i.e. QR Decomposition with order M Maximum Likelihood Decoding”. Such a method has for example been described in the article “Joint Data Detection and Channel Estimation of OFDM Systems” by Tao Cui and Chintha Tellambura, in IEEE Transactions on communications, vol. 54n no. 4, April 2006, the disclosure of which is incorporated by reference, or in the article “Likelihood function for QRM-MLD suitable for soft-decision turbo decoding and its performance for OFCDM MIMO multiplexing in multipath fading channel”, by H. Kawai, K. Higuichi, N. Maeda et al., in IEICE Transactions on Communications, E88-B (1), 47-57, the disclosure of which is incorporated by reference.

Compared with Sphere Decoding, QRM-MLD techniques, which only keeps the best M candidates for the next level search, has fixed throughput and is suitable for pipelined hardware implementation. In terms of result accuracy, it achieves comparable performance with ML-based detection algorithms.

However, it involves a very high complexity, especially for higher modulation schemes like 256 QAM (Quadrature Amplitude Modulation). Also, like the Sphere Decoding solution, this algorithm cannot be implemented on highly parallel hardware architecture and is thus not suitable for real-time high data rate transmission.

SUMMARY

There is a need to alleviate at least partly the above mentioned drawbacks.

More particularly, an embodiment aims to reduce the complexity of the decoding of the received signals, while keeping the same performances than maximum likelihood-based detection algorithms. In addition, the proposed solution aims to be deployed on highly parallel hardware architecture and thus to be applicable to real-time high data-rate decoding algorithms. It can therefore be used within OFDM receivers.

This is achieved with a method for estimating a vector of emitted symbols over a MIMO transmission channel emitted by a first plurality of emitting antennas, by receiving a vector of received symbols on a second plurality of receiving antennas, said method comprising estimating said vector of emitted symbols by calculating a metric associated with a criterion for each vector of a subset of all possible vectors of emitted symbols and by selecting an estimation for said vector of emitted symbol as the vector of emitted symbols among said subset which minimizes said metric.

Preferred embodiments comprise one or more of the following features:

-   -   said metric is an Euclidian distance ∥y−H·x∥² associated with a         criterion y−H·x, wherein y represents said vector of received         symbols, x represents said each vector, and H represents a         transfer function matrix for said transmission channel;     -   said estimating comprises performing a QR decomposition of said         criterion;     -   said subset is determined by defining intervals for each symbols         of the vector of emitted symbols, said intervals being provided         by a sphere decoding process;     -   said sphere decoding is performed by replacing the error terms         by a predetermined factor;     -   said subset is determined by replacing some of said symbols of         said vector of emitted symbols by approximations. S     -   said approximation involves a slicing operation;     -   said symbols are modulated by a QAM 16 modulation scheme.

Another aspect concerns a computer program comprising program instructions and being loadable into a data processing unit and adapted to cause execution of the method according to the process when the computer program is run by the data processing unit.

Another aspect concerns a receiver adapted for estimating a vector of emitted symbols over a MIMO transmission channel emitted by a first plurality of emitting antennas, by receiving a vector of received symbols on a second plurality of receiving antennas, said receiver being adapted for estimating said vector of emitted symbols by calculating a metric associated with a criterion for each vector of a subset of all possible vectors of emitted symbols and by selecting an estimation for said vector of emitted symbol as the vector of emitted symbols among said subset which minimizes said metric.

Preferred embodiments comprise one or more of the following features:

-   -   said metric is an Euclidian distance ∥y−H·x∥² associated with a         criterion y−H·x, wherein y represents said vector of received         symbols, x represents said each vector, and H represents a         transfer function matrix for said transmission channel;     -   said estimating comprises performing a QR decomposition of said         criterion.     -   the receiver is adapted to determine said subset by defining         intervals for each symbols of the vector of emitted symbols,         said intervals being provided by a sphere decoding process;     -   the receiver is adapted to perform said sphere decoding by         replacing the error terms by a predetermined factor;     -   the receiver is adapted to determine said subset by replacing         some of said symbols of said vector of emitted symbols by         approximations.

BRIEF DESCRIPTION OF THE DRAWINGS

Further features and advantages will appear from the following description of embodiments of the invention, given as non-limiting examples, with reference to the accompanying drawings listed hereunder, wherein:

FIG. 1 shows a high-level architecture of a spatially-multiplexed MIMO system;

FIG. 2 shows an example for a constellation relating to a 16-QAM modulation scheme;

FIG. 3 shows a comparison of the performance of the QRM-MLD method and of the method of an embodiment, called “LC-QR-MLD”;

FIG. 4 shows a comparison of the performance of the QRM-MLD method and of the method of another embodiment;

FIG. 5 shows a possible implementation for an OSIC-based receiver RCV, according to an embodiment;

FIGS. 6A, 6B, 6C, 6D shows constellation diagram on which are depicted steps of determination of a subset of possible vector of emitted symbols according to an embodiment; and

FIG. 7 shows a comparison of the performance of the QRM-MLD method and of the method according to an embodiment called “OSIC”.

DETAILED DESCRIPTION OF THE DRAWINGS

FIG. 1 depicts a MIMO system using spatial multiplexing.

Such a system can be implemented for OFDM communication systems. Orthogonal Frequency-Division Multiplexing (OFDM), also referred to as “multi-carrier modulation” (MCM) or “discrete multi-tone modulation” (DMTM), splits up and encodes high-speed incoming serial data, modulating it over a plurality of different carrier frequencies (called “subcarriers”) within a communication channel to transmit the data from one user to another. The serial information is broken up into a plurality of sub-signals that are transmitted simultaneously over the subcarriers in parallel.

By spacing the subcarrier frequencies at intervals of the frequency of the symbols to transmit, the peak power of each modulated subcarrier lines up exactly with zero power components of the other modulated subcarriers, thereby providing orthogonality (independence and separability of the individual subcarriers). This allows a good spectral efficiency (close to optimal) and minima inter-channel interference (ICI), i.e. interferences between the subcarriers.

For this reason, OFDM is used in many applications. Many digital transmission systems have adopted OFDM as the modulation technique such as digital broadcasting terrestrial TV (DVB-T), digital audio broadcasting (DAB), terrestrial integrated services digital broadcasting ISDB-T), digital subscriber line (xDSL), WLAN systems, e.g. based on the IEEE 802.11 a/g standards, Cable TV systems, etc.

OFDM systems based on MIMO communication scheme are often referred to as “MIMO-OFDM” and are used to increase the transmission bit-rate. Embodiments herein are however applicable to other implementations of the MIMO principles.

In FIG. 1, only the elements related to the MIMO systems and useful for the understanding of the invention are depicted. This schema shows an emitter EMT and a receiver RCM communicating through a communication channel TC, through an array of N_(T) emitting antennas and N_(R) receiving antennas.

In MIMO systems, each emitting antennas can emit a symbol, respectively x₁, x₂, x₃ . . . x_(NT) to potentially all the N_(R) receiving antennas. The symbols are demultiplexed by the spatial stream generator SSG. The symbols x₁, x₂, x₃ . . . x_(NT) are received as a serial stream by the spatial stream generator SSG, which then generates N_(T) signals sent in parallel by the N_(T) emitting antennas.

The received symbols respectively y₁, y₂, y₃ . . . y_(NR) are therefore a combination of the symbols emitted by the emitting antennas.

Between an emitting antenna i and a receiving antenna j, the transmission channel TC can be modeled by a transfer function h_(ij). There are therefore N_(R)×N_(T) sub channels and transfer functions h_(ij).

The values of the emitted and received symbols, x_(i), y_(j) respectively, and of the transfer functions h_(ij) are complex values.

The emitted symbols may comply with different modulation schemes. An example of such a modulation scheme is the QAM scheme (Quadrature Amplitude Modulation).

The QAM scheme comprises transmitting a signal by two amplitude modulated carriers. The carriers are usually sinusoids and phased by 90° to each other, i.e. in quadrature.

Some common implementations of the QAM scheme transmit quantified values on both carriers. The different possible values are then often represented as a “constellation” as depicted in the FIG. 2. The constellation of this example relates to a 16-QAM scheme, i.e. wherein the modulated signal can take one among 16 possible values.

The signal is represented as a complex value; typically the horizontal axis represents the real axis and the vertical axis represents the imaginary axis. The 16 possible values form an alphabet of the signal and are depicted as dots together with the value in bits (coded on 4 bits).

Accordingly, each of the emitted symbols x_(i) takes values among the 16 possible complex values of the alphabet of the constellation.

From the explanation given above, it is possible to express the received symbols by the equation:

y=H·x+z

wherein x and y represent respectively the vector of the emitted and received symbols, so that: x=[x₁, x₂, x₃ . . . x_(NT)]^(T) and y=[y₁, y₂, y₃ . . . y_(NR)]^(T), H represents the transfer function matrix for the transmission channel TC and z represents the noise over this channel.

The noise z is usually a white Gaussian noise with a variance of σ_(z) ². This noise differs according to the subchannels. The noise z is then expressed as a vector of N_(R) values: z=[z₁, z₂, z₃ . . . z_(NR)]^(T).

The matrix H is formed with the transfer function h_(ij) of each sub-channels. Accordingly, the matrix H is a N_(R)×N_(T) matrix.

We can also note h_(i) the i^(th) column vector of the matrix H. Therefore, the previous equation can also be written as:

y=h ₁ x ₁ +h ₂ x ₂ +h ₃ x ₃ + . . . +h _(NT) x _(NT) +z

The problem to be solved then by the receiver is to detect the emitted symbols x, i.e. to determine the emitted symbols x, knowing the received symbols y and the transfer functions being estimated.

A typical technique for doing this is to use a Maximum Likelihood (ML) detection method based on a criterion to be minimized. This criterion can be associated to a metric. This metric is typically an Euclidian distance.

According to an embodiment, then using a maximum likelihood-based method consists in calculating the Euclidian distance ∥Y−H·x∥² of the criteria y−H·x, i.e. the Euclidian distance between the received signal vector and the product of possible emitted vectors with the estimated transfer function H for the transmission channel.

In general, we note C^(NT) the set of all these possible emitted symbols vectors (which depends on the number N_(T) of emitting antennas). Each symbol of the vector belongs to the alphabet of the constellation, as depicted in the example of the FIG. 2.

Then, the problem to be solved is to calculate the Euclidian distance ∥y−H·x∥² and to determine an estimation {circumflex over (x)}_(ML) of the most probable emitted signal vector x, i.e. the one which minimizes this Euclidian distance. This can be written as:

${\hat{x}}_{ML} = {\underset{x \in C^{N_{T}}}{\arg \; \min}{{y - {H \cdot x}}}^{2}}$

It is known in the art that the maximum likelihood method achieves the optimal performance as the maximum a posteriori (MAP) detection, when all the emitted symbols vectors are equally likely.

However, its complexity increases exponentially according to the modulation order (i.e. the size of the constellation associated with the modulation scheme) and the number of emitting antennas.

For instance an exhaustive search over the set of possible solutions for a 64-QAM communication system having N_(R) receiving antennas consists in considering 64^(NR) possibilities. Even with only 2 receiving antennas, this implies already 4096 possibilities.

Consequently, this method cannot be used in real-life implementation, but it serves as a basis to which other methods are compared, since its represents the best possible performance.

Only a subset of all possible vectors of emitted symbols is considered for calculating the metric and for selecting an estimate for the emitted vectors of symbols.

Accordingly, the complexity of the maximum likelihood-based methods is decreased and these methods are usable within the context of real-time systems, like, for instance OFDM transmission systems, for decoding high-order modulated signals (e.g. 16-QAM and above).

In order to reduce the number of considered possible vectors to a subset of all the possibilities, several methods can be used.

According to a first implementation, the subset is determined by defining intervals for each symbols of the vector of emitted symbols. The number of possible emitted vector of symbols is then limited, symbols by symbols: the excursion of each symbol is limited within the interval, so that a subset of all possible vectors of emitted symbols is defined.

The intervals are provided by a sphere decoding process.

Accordingly, a QR decomposition of a real channel matrix associated with the transfer function matrix is performed.

First, the complex equation y=H·x+z is converted into a real system, by decomposing each complex term y, x and z as the sum of its real part and of its imaginary part multiplied by the imaginary number j. The equation can then be written as:

$\begin{bmatrix} {y_{1\; R} + {j \cdot y_{1\; I}}} \\ {y_{2\; R} + {j \cdot y_{2\; I}}} \\ \vdots \\ {y_{N_{R}R} + {j \cdot y_{N_{R}I}}} \end{bmatrix} = {\quad{\begin{bmatrix} {h_{11\; R} + {j \cdot h_{11\; I}}} & {h_{12\; R} + {j \cdot h_{12\; I}}} & \ldots & {h_{1_{N_{T}R}} + {j \cdot h_{1_{N_{T}I}}}} \\ {h_{21\; R} + {j \cdot h_{21\; I}}} & {h_{22\; R} + {j \cdot h_{22\; I}}} & \ldots & {h_{2_{N_{T}R}} + {j \cdot h_{2_{N_{T}I}}}} \\ \vdots & \vdots & \ddots & \vdots \\ {h_{N_{R}1\; R} + {j \cdot h_{N_{R}1\; I}}} & {h_{N_{R}2\; R} + {j \cdot h_{N_{R}2\; I}}} & \ldots & {h_{N_{R}N_{T}R} + {j \cdot h_{N_{R}N_{T}I}}} \end{bmatrix} \times {\quad{\begin{bmatrix} {x_{1\; R} + {j \cdot x_{1\; I}}} \\ {x_{2\; R} + {j \cdot x_{2\; I}}} \\ \vdots \\ {x_{N_{T}R} + {j \cdot x_{N_{T}I}}} \end{bmatrix} + \begin{bmatrix} {z_{1\; R} + {j \cdot z_{1\; I}}} \\ {z_{2\; R} + {j \cdot z_{2\; I}}} \\ \vdots \\ {z_{N_{R}R} + {j \cdot z_{N_{R}I}}} \end{bmatrix}}}}}$

In this equation, we note x_(iR)=Re(x_(i)), i.e. the real part of the complex emitted symbol x_(i); and x_(iI)=Im(x_(i)), i.e. the imaginary part of the complex symbol x_(i). Similarly, we note y_(iR)=Re(y_(i)), i.e. the real part of the complex received symbol y_(i); and y_(iI)=Im(y_(i)), i.e. the imaginary part of the complex symbol y_(i).

Similarly, we can also note h_(ijR)=Re(h_(ij)), and h_(ijI)=Im(h_(ij)), as well as z_(iR)=Re(z_(i)), and z_(iI)=Im(z_(i)).

Taking the example of a 2×2 MIMO transmission channel TC, this equation becomes as follows:

$\begin{bmatrix} {y_{1R} + {j \cdot y_{1\; I}}} \\ {y_{2R} + {j \cdot y_{2I}}} \end{bmatrix} = {{\begin{bmatrix} {h_{11R} + {j \cdot h_{11I}}} & {h_{12R} + {j \cdot h_{12I}}} \\ {h_{21R} + {j \cdot h_{21I}}} & {h_{22R} + {j \cdot h_{22I}}} \end{bmatrix} \cdot \begin{bmatrix} {x_{1R} + {j \cdot x_{1I}}} \\ {x_{2R} + {j \cdot x_{2I}}} \end{bmatrix}} + {\quad\begin{bmatrix} {z_{1R} + {j \cdot z_{1I}}} \\ {z_{2R} + {j \cdot z_{2I}}} \end{bmatrix}}}$

The real and imaginary parts for this equation can be respectively expressed as:

$\begin{matrix} {\begin{bmatrix} y_{1R} \\ y_{2R} \end{bmatrix} = {{\begin{bmatrix} h_{11R} & h_{12R} \\ h_{21R} & h_{22R} \end{bmatrix}\begin{bmatrix} x_{1R} \\ x_{2R} \end{bmatrix}} - {\begin{bmatrix} h_{11I} & h_{12I} \\ h_{21I} & h_{22I} \end{bmatrix}\begin{bmatrix} x_{1I} \\ x_{2I} \end{bmatrix}} + \begin{bmatrix} z_{1R} \\ z_{2R} \end{bmatrix}}} \\ {= {{\begin{bmatrix} h_{11R} & h_{12R} & {- h_{11I}} & {- h_{12I}} \\ h_{21R} & h_{22R} & {- h_{21I}} & {- h_{22I}} \end{bmatrix}\begin{bmatrix} x_{1R} \\ x_{2R} \\ x_{1I} \\ x_{2I} \end{bmatrix}} + \begin{bmatrix} z_{1R} \\ z_{2R} \end{bmatrix}}} \end{matrix}$ ${{and}\begin{bmatrix} y_{1I} \\ y_{2I} \end{bmatrix}} = {{\begin{bmatrix} h_{11I} & h_{12I} & h_{11R} & h_{12R} \\ h_{21I} & h_{22I} & h_{21R} & h_{22R} \end{bmatrix}\begin{bmatrix} x_{1R} \\ x_{2R} \\ x_{1I} \\ x_{2I} \end{bmatrix}} + \begin{bmatrix} z_{1I} \\ z_{2I} \end{bmatrix}}$

These two equations can be merged together to form a new one by putting real and imaginary parts in same vectors and matrices y, H, x, z:

$\underset{\overset{\_}{y}}{\underset{}{\begin{bmatrix} y_{1R} \\ y_{2R} \\ y_{1I} \\ y_{2I} \end{bmatrix}}} = {{\underset{\overset{\_}{H}}{\underset{}{\begin{bmatrix} h_{11R} & h_{12R} & {- h_{11I}} & {- h_{12I}} \\ h_{21R} & h_{22R} & {- h_{21I}} & {- h_{22I}} \\ h_{11I} & h_{12I} & h_{11R} & h_{12R} \\ h_{21I} & h_{22I} & h_{21R} & h_{22R} \end{bmatrix}}}\underset{\overset{\_}{x}}{\underset{}{\begin{bmatrix} x_{1R} \\ x_{2R} \\ x_{1I} \\ x_{2I} \end{bmatrix}}}} + \underset{\overset{\_}{z}}{\underset{}{\begin{bmatrix} z_{1R} \\ z_{2R} \\ z_{1I} \\ z_{2I} \end{bmatrix}}}}$

Then, according to the sphere detection method, the problem to be solved consists in finding solutions of the following solution

${\underset{\overset{\_}{x}}{\arg \mspace{14mu} \min}{{\overset{\_}{y} - {\overset{\_}{H}\overset{\_}{x}}}}^{2}} = {\underset{\overset{\_}{x}}{\arg \mspace{14mu} \min}\left( {\overset{\_}{x} - \hat{\overset{\_}{x}}} \right)^{T}{\overset{\_}{H}}^{T}{\overset{\_}{H}\left( {\overset{\_}{x} - \hat{\overset{\_}{x}}} \right)}}$

Using QR decomposition, this equation can also be written:

( x− {circumflex over (x)} )^(T) H ^(T) H ( x− {circumflex over (x)} )=( x− {circumflex over (x)} )^(T) R ^(T) R( x− {circumflex over (x)} )=∥R( x− {circumflex over (x)} )∥²

wherein {circumflex over (x)}represents the searched solution, i.e. the value of the vector x associated with the vector x of emitted symbols to be estimated, and wherein:

${{R\left( {\overset{\_}{x} - \hat{\overset{\_}{x}}} \right)}}^{2} = {{\begin{bmatrix} r_{11} & r_{12} & r_{13} & r_{14} \\ 0 & r_{22} & r_{23} & r_{24} \\ 0 & 0 & r_{33} & r_{34} \\ 0 & 0 & 0 & r_{44} \end{bmatrix} \times \begin{bmatrix} {{\overset{\_}{x}}_{1} - {\hat{\overset{\_}{x}}}_{1}} \\ {{\overset{\_}{x}}_{2} - {\hat{\overset{\_}{x}}}_{2}} \\ {{\overset{\_}{x}}_{3} - {\hat{\overset{\_}{x}}}_{3}} \\ {{\overset{\_}{x}}_{4} - {\hat{\overset{\_}{x}}}_{4}} \end{bmatrix}}}^{2}$

According to the definition of y, H, x, z given earlier,

x ₁ =x _(1R) =Re(x ₁)

x ₂ =x _(2R) =Re(x ₂)

x ₃ =x _(1I) =Im(x ₁)

x ₄ =x _(2I) =Im(x ₂)

The same equation can be decomposed as:

${{R\left( {\overset{\_}{x} - \hat{\overset{\_}{x}}} \right)}}^{2} = {{{r_{44}\left( {{\overset{\_}{x}}_{4} - {\hat{\overset{\_}{x}}}_{4}} \right)}}^{2} + {{{r_{33}\left( {{\overset{\_}{x}}_{3} - {\hat{\overset{\_}{x}}}_{3}} \right)} + {r_{34}\left( {{\overset{\_}{x}}_{4} - {\hat{\overset{\_}{x}}}_{4}} \right)}}}^{2} + {{{r_{22}\left( {{\overset{\_}{x}}_{2} - {\hat{\overset{\_}{x}}}_{2}} \right)} + {r_{23}\left( {{\overset{\_}{x}}_{3} - {\hat{\overset{\_}{x}}}_{3}} \right)} + {r_{24}\left( {{\overset{\_}{x}}_{4} - {\hat{\overset{\_}{x}}}_{4}} \right)}}}^{2} + {{{r_{11}\left( {{\overset{\_}{x}}_{1} - {\hat{\overset{\_}{x}}}_{1}} \right)} + {r_{12}\left( {{\overset{\_}{x}}_{2} - {\hat{\overset{\_}{x}}}_{2}} \right)} + {r_{13}\left( {{\overset{\_}{x}}_{3} - {\hat{\overset{\_}{x}}}_{3}} \right)} + {r_{14}\left( {{\overset{\_}{x}}_{4} - {\hat{\overset{\_}{x}}}_{4}} \right)}}}^{2}}$

This expression is used by some solutions known in the art under the general name of “sphere decoder” or universal lattice decoding algorithm. It has for instance been described in the article “Maximum Likelihood sequence estimation from the lattice viewpoint” by W. Mow, in IEEE Transactions on Information Theory, vol. 40, no. 5, pp. 1591-1600, in year 1994, the disclosure of which is incorporated by reference.

The principle of the sphere decoding algorithm is to search the closest lattice point to the received vector within a hyper-sphere radius, where each possible vector is represented by a lattice point in a lattice field. It is usually based on the Finke-Pohst enumeration to explore all the lattice points inside the hypersphere centered at the received symbol vector.

This Sphere Decoding (SD) algorithm allows lowering the computational complexity compared with maximum likelihood decoding approaches.

However, the average complexity of the SD algorithm is shown to be polynomial in the number N_(T) of transmit antennas over a certain range of Signal-to-Noise Ratio (SNR) and number of transmit antennas, while the worst case complexity is still exponential.

According to embodiments, the sphere decoding is not used for finding the estimate for the emitted vector of symbols, but for reducing the set of the possible emitted vectors of symbol wherein the estimate is searched by maximum-likelihood-based decoding methods.

In other words, both sphere decoding and maximum-likelihood-based decoding methods are used together, in such a way that the overall complexity is reduced, whereas each of the approaches, separately, presents complexity issues.

Accordingly a first step can be implemented to use the previous equation for determining a subset among all possible vectors of emitted symbols. This subset will then be used, within a second step, as the space within which an estimate is selected, according to maximum-likelihood-based methods, i.e. as the one which minimizes a given metric, e.g. a Euclidian distance, as it will be exposed below.

In this first step, the subset is defined by finding intervals for each of the symbols of the vector x: instead of being free to take any possible values of the constellation, each symbol will be limited to an interval, so that the size of the search space used during the second step is considerably reduced.

As the values of the symbols are complex values, the intervals should be understood as one interval for the real part and one interval for the imaginary part of each symbol.

The intervals for each symbols of the vector can be determined through an iterative process, wherein the determination of a first interval for a first symbol can allow the determination of a second interval for a second symbol, etc. At the end of the process, intervals for all the symbols are defined.

Referring again to the previous equation, first, candidate values are chosen for x ₄− {circumflex over (x)} ₄ within the hyper-sphere determined by the radius R_(SD), so that |r₄₄( x ₄− {circumflex over (x)} ₄)|²≦R_(SD) ². In other words x ₄− {circumflex over (x)} ₄ is chosen in the following range:

${- \frac{R_{SD}}{r_{44}}} \leq {{\overset{\_}{x}}_{4} - {\hat{\overset{\_}{x}}}_{4}} \leq \frac{R_{SD}}{r_{44}}$

wherein R_(SD) represents the radius of the hypersphere.

This radius can be given according to the equation:

$R_{SD} = {{{r_{44}\left( {{\overset{\_}{x}}_{4} - {\hat{\overset{\_}{x}}}_{4}} \right)}}^{2} + {{{r_{33}\left( {{\overset{\_}{x}}_{3} - {\hat{\overset{\_}{x}}}_{3}} \right)} + {r_{34}\left( {{\overset{\_}{x}}_{4} - {\hat{\overset{\_}{x}}}_{4}} \right)}}}^{2} + {{{r_{22}\left( {{\overset{\_}{x}}_{2} - {\hat{\overset{\_}{x}}}_{2}} \right)} + {r_{23}\left( {{\overset{\_}{x}}_{3} - {\hat{\overset{\_}{x}}}_{3}} \right)} + {r_{24}\left( {{\overset{\_}{x}}_{4} - {\hat{\overset{\_}{x}}}_{4}} \right)}}}^{2} + {{{r_{11}\left( {{\overset{\_}{x}}_{1} - {\hat{\overset{\_}{x}}}_{1}} \right)} + {r_{12}\left( {{\overset{\_}{x}}_{2} - {\hat{\overset{\_}{x}}}_{2}} \right)} + {r_{13}\left( {{\overset{\_}{x}}_{3} - {\hat{\overset{\_}{x}}}_{3}} \right)} + {r_{14}\left( {{\overset{\_}{x}}_{4} - {\hat{\overset{\_}{x}}}_{4}} \right)}}}^{2}}$

As the purpose of the usage of the sphere decoding is different, some modification to the algorithm can be done, so as to reduce its complexity while still providing the efficiency required for the aim of this first step.

Accordingly, the error terms, i.e. the differences between evaluated symbols and the estimate, are approximated by a predetermined factor m·d, wherein m and d are two parameters: m representing the complexity and d the constellation distance between consecutive points.

d is simply the minimum vertical (imaginary) or horizontal (real) distance between two neighboring constellation points as depicted in the example of FIG. 2.

m may depend on several factors that determines the receiver performance such as: signal to noise ratio (SNR), channel estimation precision, time recovery precision, frequency synchronization precision, etc.

A high value for m increases the BNR vs. SNR performance, but increases also the LC-QR-MLD algorithm. For this reason a compromise should be found. In practice, the value for m is determined by simulations; many parametric simulations are done to find the minimum value of m necessary to attain the needed “BER vs. SNR” performance.

Replacing the error terms by such a predetermined factor allows dramatically reducing the complexity of the sphere decoding process, while keeping it efficient enough for determining good subsets of candidate vectors of emitted symbols. “Good” subset means here that the subset should be narrow enough to decrease the complexity of the second step, but also the subset should contain the optimal solution.

It has been proved that this embodiment results in a good efficiency, as it will be shown below.

The radius R_(SD) of the hypersphere can then be given by the expression

R _(SD) =└r ₄₄ ²+(r ₃₃ +r ₃₄)²+(r ₂₂ +r ₂₃ +r ₂₄)²+(r ₁₁ +r ₁₂ +r ₁₃ +r ₁₄)²┘×(m×d)²

From this radius R_(SD), a range can be determined for the expression x ₄− {circumflex over (x)} ₄. This range implicitly defines an interval for the corresponding symbol of the vector of emitted symbols x. In this example, x ₄ corresponds to the imaginary part of the symbol x₂ for which, thus, an interval is defined.

Once this interval is defined, the next symbol is considered within the iterative process.

According to this example, candidate values are chosen for x ₃− {circumflex over (x)} ₃ within the hyper-sphere determined by the radius R_(SD), so that

|r ₄₄( x ₄ − {circumflex over (x)} ₄)|² +|r ₃₃( x ₃ − {circumflex over (x)} ₃)+r ₃₄( x ₄ − {circumflex over (x)} ₄)|² ≦R _(SD) ².

Knowing the range within which the values of x ₄− {circumflex over (x)} ₄ can be, it is straightforward to determine such range for x ₃− {circumflex over (x)} ₃. This range should be defined so as to be the widest possible (i.e. by using the extreme values of the expression x ₄− {circumflex over (x)} ₄).

This range implicitly defines an interval for the real part of the symbol x₂.

Once this interval is defined, the next symbol is considered within the iterative process.

According to this example, candidate values are chosen for x ₂− {circumflex over (x)} ₂ within the hyper-sphere determined by the radius R_(SD), so that

|r ₄₄( x ₄ − {circumflex over (x)} ₄)|² +|r ₃₃( x ₃ − {circumflex over (x)} ₃)+r ₃₄( x ₄ − {circumflex over (x)} ₄)|² +|r ₂₂( x ₂ − {circumflex over (x)} ₂)+r ₂₃( x ₃ − {circumflex over (x)} ₃)+r ₂₄( x ₄ − {circumflex over (x)} ₄)|² ≦R _(SD) ²

Knowing the range within which the values of x ₄− {circumflex over (x)} ₄ and x ₃− {circumflex over (x)} ₃ can be, it is straightforward to determine such range for x ₂− {circumflex over (x)} ₂. This range should be defined so as to be the widest possible (i.e. by using the extreme values of the expressions x ₄− {circumflex over (x)} ₄ and x ₃− {circumflex over (x)} ₃).

This range implicitly defines an interval for the imaginary part of the symbol x₁.

Once this interval is defined, the next symbol is considered within the iterative process.

According to this example, candidate values are chosen for x ₁− {circumflex over (x)} ₁ within the hyper-sphere determined by the radius R_(SD), so that

|r ₄₄( x ₄ − {circumflex over (x)} ₄)|² +|r ₃₃( x ₃ − {circumflex over (x)} ₃)+r ₃₄( x ₄ − {circumflex over (x)} ₄)|² +|r ₂₂( x ₂ − {circumflex over (x)} ₂)+r ₂₃( x ₃ − {circumflex over (x)} ₃)+r ₂₄( x ₄ − {circumflex over (x)} ₄)|² +|r ₁₁( x ₁ − {circumflex over (x)} ₁)+r ₁₂( x ₂ − {circumflex over (x)} ₂)+r ₁₃( x ₃ − {circumflex over (x)} ₃)+r ₁₄( x ₄ − {circumflex over (x)} ₄)|² ≦R _(SD) ²

Knowing the range within which the values of x ₄− {circumflex over (x)} ₄, x ₃− {circumflex over (x)} ₃ and x ₂− {circumflex over (x)} ₂ can be, it is straightforward to determine such range for x ₁− {circumflex over (x)} ₁. This range should be defined so as to be the widest possible (i.e. by using the extreme values of the expressions x ₄− {circumflex over (x)} ₄, x ₃− {circumflex over (x)} ₃ and x ₂− {circumflex over (x)} ₂).

This range implicitly defines an interval for the real part of the symbol x₁.

At the end of this last step, the symbols x₁, x₂ of the emitted vector x have been limited to intervals, both for their real and imaginary parts. These intervals define subsets C1, C2 for, respectively, the symbols x₁ and x₂, among all the possible emitted symbols.

The subset of the possible vectors, resulting of these two subsets C1, C2, is dramatically reduced compared with the full range of possibilities, leading to a decreased complexity of the estimation method.

In a second step of the detection method, this subset is used as the space within which an estimate is selected, according to maximum-likelihood-based methods, i.e. as the one which minimizes a given metric.

According to an embodiment, the metric is an Euclidian distance ∥y−H·x∥² associated with a criterion y−H·x.

This criterion represents a maximum-likelihood-based criterion for which the minimal solution is sought.

In embodiments, this criterion can be decomposed by a QR decomposition. QR decomposition is a decomposition of a matrix into a product of an orthogonal matrix Q and an upper triangular matrix R. QR decomposition is often used to solve the linear least squares problem and is the basis for a particular eigenvalue algorithm, the QR algorithm.

The metric can then be rewritten as follows:

$\begin{matrix} {{{y - {H \cdot x}}} = {{y - {Q \cdot R \cdot x}}}} \\ {= {{Q^{H}\left( {y - {Q \cdot R \cdot x}} \right)}}} \\ {= {{\overset{\sim}{y} - {R \cdot x}}}} \end{matrix}$

This QR decomposition is used in the QRM-MLD algorithms (QR decomposition with order M Maximum Likelihood Decoding), like those known in the art and fully described in the literature. In the prior art, the aim is to find the vector x than minimizes this equation, knowing that each symbols of this vector belongs to full set of the constellation's possibilities. In the case of high order QAM constellation (e.g. 64 QAM and above), huge processing is needed to find the best symbols.

The symbols belong to subsets of this full set, as previously defined.

Taking back the previous example of a 2×2 MIMO communication system (wherein N_(T)=N_(R)=2), the metric expression can be decomposed as:

$\begin{matrix} {{{y - {H \cdot x}}}^{2} = {{\begin{bmatrix} {\overset{\sim}{y}}_{1} \\ {\overset{\sim}{y}}_{2} \end{bmatrix} - {\begin{bmatrix} r_{11} & r_{12} \\ 0 & r_{22} \end{bmatrix} \cdot \begin{bmatrix} x_{1} \\ x_{2} \end{bmatrix}}}}} \\ {= {{{{\overset{\sim}{y}}_{2} - {r_{22}x_{2}}}}^{2} + {{{\overset{\sim}{y}}_{1} - {r_{11}x_{1}} - {r_{32}x_{2}}}}^{2}}} \end{matrix}$

According to embodiments, the aim becomes to find the vector x=(x₁,x₂)^(T) minimizing this expression, with x₁εC1 and x₂εC2. This vector can be considered as the emitted symbol.

Except that the symbols are limited to given subset, this minimization problem can be solved according to the known-in-the art algorithms, like the QRM-MLD algorithm. Since these techniques are well documented and thus easily accessible to the man skilled in the art, they won't be described in details here.

It is considered sufficient to say that the QRM-MLD method is a sort of trial and error method, where M best candidates for a first symbol are determined, as the one which minimizes a first term, and then the other candidates for the other symbols are determined according to the previous determination, until a full vector is determined.

In the example of the 2×2 MIMO system,

-   -   First, M candidate symbols x₂ are determined, corresponding to         the M smallest values of the term |{tilde over (y)}₂−r₂₂x₂|² ,         knowing that x₂εC2;     -   Then, M candidate symbols x₁ are determined, corresponding to         the M smallest values of the expression |{tilde over         (y)}₂−r₂₂x₂|²+|{tilde over (y)}₁−r₁₁x₁−r₃₂x₂|², knowing that         x₁εC1 and x₂ belongs to the M previously determined candidates         for x₂.

The symbols which are determined form the estimate for the vector of emitted symbols.

FIG. 3 shows a comparison of the performance of the QRM-MLD method and of the method of the invention, called “LC-QR-MLD” for “Low Complexity QR decomposition based Maximum Likelihood Decoding”. It shows BER (Bit Error Rate) versus SNR (Signal to Noise Ratio).

The QRM-MLD performances are depicted for two complexity values, M=4, M=16.

It shows clearly that the performance of the LC-QR-MLD method, even with a low complexity parameter (m=4) is similar to the high-complexity QRM-MLD method, supposed to be optimal. However, high-complexity QRM-MLD method is not easily usable in practice, and decreasing its complexity involves a clear loss in performance (see curve of QRM-MLD, with M=4).

Another embodiment includes determining the subset by replacing some of the symbols of the vector of emitted symbols by an approximation.

For the clarity of the explanation, a 4×4 MIMO system is taken as example (N_(T)=N_(R)=4).

Accordingly, the metric can be written as:

$\begin{matrix} {{{y - {H \cdot x}}}^{2} = {{\begin{bmatrix} {\overset{\sim}{y}}_{1} \\ {\overset{\sim}{y}}_{2} \\ {\overset{\sim}{y}}_{3} \\ {\overset{\sim}{y}}_{4} \end{bmatrix} - {\begin{bmatrix} r_{11} & r_{12} & r_{13} & r_{14} \\ 0 & r_{22} & r_{23} & r_{24} \\ 0 & 0 & r_{33} & r_{34} \\ 0 & 0 & 0 & r_{44} \end{bmatrix} \cdot \begin{bmatrix} x_{1} \\ x_{2} \\ x_{3} \\ x_{4} \end{bmatrix}}}}} \\ {= {{{{\overset{\sim}{y}}_{4} - {r_{44}x_{4}}}}^{2} + {{{\overset{\sim}{y}}_{3} - {r_{33}x_{3}} - {r_{34}x_{4}}}}^{2} +}} \\ {{{{{\overset{\sim}{y}}_{2} - {r_{22}x_{2}} - {r_{23}x_{3}} - {r_{24}x_{4}}}}^{2} +}} \\ {{{{\overset{\sim}{y}}_{1} - {r_{11}x_{1}} - {r_{12}x_{2}} - {r_{13}x_{3}} - {r_{14}x_{4}}}}^{2}} \end{matrix}$

In order to find the estimate {x₁, x₂, x₃, x₄} for the vector x of emitted symbols, the following equation should be solved:

$\left\{ {x_{1},x_{2},x_{3},x_{4}} \right\} = {\underset{x_{1},x_{2},x_{3},{x_{4} \in C^{4}}}{\arg \; \min}\begin{Bmatrix} {{{{\overset{\sim}{y}}_{4} - {r_{44}x_{4}}}}^{2} + {{{\overset{\sim}{y}}_{3} - {r_{33}x_{3}} - {r_{34}x_{4}}}}^{2} +} \\ {{{{\overset{\sim}{y}}_{2} - {r_{22}x_{2}} - {r_{23}x_{3}} - {r_{24}x_{4}}}}^{2} +} \\ {{{\overset{\sim}{y}}_{1} - {r_{11}x_{1}} - {r_{12}x_{2}} - {r_{13}x_{3}} - {r_{14}x_{4}}}}^{2\;} \end{Bmatrix}}$

Once again, solving such an equation is a highly complex system, when all the symbols belong to the constellation associated with the modulation scheme and if this modulation scheme is 16 QAM or above.

For example, the symbols x₁ and x₂ are chosen for being replaced by approximations.

In this previous equation, the terms |{tilde over (y)}₂−r₂₂x₂−r₂₃x₃−r₂₄x₄|² and |{tilde over (y)}₁−r₁₁x₁−r₁₂ x₂−r₁₃ x₃−r₁₄ x₄|² are minimized to zero. Due to the orthogonality of the problem formulation, the conditional maximum likelihood decision on the symbols x₁ and x₂ can be made by a simple threshold test, i.e.:

${{\hat{x}}_{1}\left( {x_{3},x_{4}} \right)} = {{round}\left( \frac{{\overset{\sim}{y}}_{1} - {r_{11}x_{1}} - {r_{12}x_{2}} - {r_{13}x_{3}} - {r_{14}x_{4}}}{r_{11}} \right)}$ ${{\hat{x}}_{2}\left( {x_{3},x_{4}} \right)} = {{round}\left( \frac{{\overset{\sim}{y}}_{2} - {r_{22}x_{2}} - {r_{23}x_{3}} - {r_{24}x_{4}}}{r_{22}} \right)}$

The “round” operation is a simple slicing operation to the constellation elements. It allows reducing the complexity of the QRM equation by reducing the number of unknowns.

These two expressions can then be reintroduced into the previous equation, so that the final estimate is then given by

$\left\{ {{{\hat{x}}_{1}\left( {x_{3},x_{4}} \right)},{{\hat{x}}_{2}\left( {x_{3},x_{4}} \right)},{\hat{x}}_{3},{\hat{x}}_{4}} \right\} = {\underset{x_{3},{x_{4} \in C^{2}}}{\arg \; \min}\begin{Bmatrix} {{{{\overset{\sim}{y}}_{4} - {r_{44}x_{4}}}}^{2} + {{{\overset{\sim}{y}}_{3} - {r_{33}x_{3}} - {r_{34}x_{4}}}}^{2} +} \\ {{{{\overset{\sim}{y}}_{2} - {r_{22}{x_{2}\left( {x_{3},x_{4}} \right)}} - {r_{23}x_{3}} - {r_{24}x_{4}}}}^{2} +} \\ {{{\overset{\sim}{y}}_{1} - {r_{11}{x_{1}\left( {x_{3},x_{4}} \right)}} - {r_{12}{x_{2}\left( {x_{3},x_{4}} \right)}} - {r_{13}x_{3}} - {r_{14}x_{4}}}}^{2} \end{Bmatrix}}$

This expression contains only two unknowns x₃, x₄, instead of 4 in the regular QRM-MLD algorithm. The number of possibilities to be evaluated is then reduced from C⁴ to C². The decrease in complexity is therefore significant.

Despite this reduced complexity, the performance of the LC-QR-MLD method according to this embodiment of the invention is comparable to the optimal QRM-MLD as depicted on the FIG. 4.

In a similar way to FIG. 3, FIG. 4 shows in a BER versus SNR diagram, curves corresponding to this embodiment of the LC-QR-MLD method and to the legacy QRM-MLD with two difference complexities: M=4, M=16

It clearly shows also that decreasing the complexity of the QRM-MLD to the same level (M=m=4) than the LC-QR-MLD algorithm dramatically reduces its performance.

A third embodiment comprises avoiding the non-linear nature of the QRM-MLD approaches.

The performance of the linear detection methods known in the art is much lower than the non-linear ones, like the QRM-MLD. However, they have the advantage of being less complex and therefore to require simpler hardware implementations.

It is here proposed to improve the performance without increasing the complexity significantly by a so-called “Ordered Successive Interference Cancellation” (OSIC) method. Such an OSIC method leads to a simple maximum-likelihood verification, with thus similar performances than the non-linear maximum-likelihood methods, without their complexity.

FIG. 5 shows a possible implementation for an OSIC-based receiver RCV. In this example, the emitter has N_(T)=4 antennas, so that the receiver RCV shall determine estimates for 4 emitted symbols, {circumflex over (x)}₁, {circumflex over (x)}₂, {circumflex over (x)}₃, {circumflex over (x)}₄

The receiver comprises a bank of linear receiving circuits RCV1, RCV2, RCV3, RCV4. Each receiving circuit RCV1, RCV2, RCV3, RCV4 is dedicated to the determination of an estimate symbol, respectively and adapted to determine a subset, respectively C₁, C₂, C₃, C₄ for each symbol.

The symbols are estimated in cascade, so that an estimate made by receiving circuit is reintroduced in the next receiving circuit to subtract it from the received signal y. The remaining signal {tilde over (y)}₁, {tilde over (y)}₂, {tilde over (y)}₃ with reduced interference can be used then by the subsequent receiving circuits, RCV2, RCV3, RCV4.

Each of the receiving circuits computes a part of the equation,

y=h ₍₁₎ {circumflex over (x)} ₍₁₎ +h ₍₂₎ {circumflex over (x)} ₍₂₎ +h ₍₃₎ {circumflex over (x)} ₍₃₎ + . . . +h _((NT)) {circumflex over (x)} _((NT)) +z

wherein x_((i)) represent the symbol to be detected in the i^(th) order, which may be different from the emitted symbol at the i^(th) antenna since x_((i)) depends on the order of detection.

A right detection means to have {circumflex over (x)}_((i))=x_((i))

The receiving circuits RCV1, RCV2, RCV3, RCV4 comprises estimating means EM1, EM2, EM3, EM4 respectively, which computes the estimates {circumflex over (x)}₍₁₎, {circumflex over (x)}₍₂₎, {circumflex over (x)}₍₃₎, {circumflex over (x)}₍₄₎. More precisely, the estimating means computes first some raw estimates {hacek over (x)}₍₁₎, {hacek over (x)}₍₂₎, {hacek over (x)}₍₃₎, {hacek over (x)}₍₄₎ which are then sliced to provide the slices estimates {circumflex over (x)}₍₁₎, {circumflex over (x)}₍₂₎, {circumflex over (x)}₍₃₎, {circumflex over (x)}₍₄₎. As it will be explained, these sliced estimates form a subset of all the possible emitted symbols. They are then provided to the ML verification module MLV as candidates within which the final estimate {circumflex over (x)}₁, {circumflex over (x)}₂, {circumflex over (x)}₃, {circumflex over (x)}₄ is selected. This estimate can be selected as previously explained by calculating a metric associated with a criterion. The metric can be an Euclidian distance ∥y−h·x∥² associated with a criterion y−H·x.

The raw estimates {hacek over (x)}₍₁₎, {hacek over (x)}₍₂₎, {hacek over (x)}₍₃₎, {hacek over (x)}₍₄₎ can be determined according to any linear algorithms, e.g. techniques known in the art like the Zero Forcing (ZF) technique or the MMSE (Minimum Mean Square Error) decoding technique.

Both techniques are well described in the literature, like for instance in “Performance analysis of macrodiversity MIMO systems with MMSE and ZF receivers in flat Rayleigh fading” by D. A. Basnayaka, P. J. Smith and P. A. Martin in IEEE Transactions on Wireless Communications, vol. 12, no. 5, pp. 2240-2251, May 2013, the disclosure of which is incorporated by reference.

Other techniques are also possible as this embodiment is not dependent on any technique, provided this is a linear technique.

In the following explained example, it is supposed that a MMSE decoding technique is used. According to the MMSE decoding technique, a MMSE weight matrix (or Wiener filter):

W _(MMSE)=(H ^(H) ·H+σ _(z) ^(z) ·I)⁻¹ H ^(H)

Then, the rows of this matrix can be used separately by the receiving circuits: the first row is used by the receiving circuit RCV1, the second row by the receiving circuit RCV2, etc.

The sliced estimates at the output of an estimating mean EMi are reintroduced as input of the next receiving circuit RCVi+1, so as to compute the input y_(i+1) that is provided to the estimating mean EMi+1:

{tilde over (y)} _((i+1)) ={tilde over (y)} _((i)) −h _((i+1)) ·{circumflex over (x)} _((i+1))

At any estimation mean EMi, if {circumflex over (x)}_((i))=x_((i)), then the interference is successfully cancelled in the course of estimating x_((i+1)). However, if {circumflex over (x)}_((i))≠x_((i)) then error propagation is incurred because the MMSE weight that has been designed under the condition of {circumflex over (x)}_((i))=x_((i)) is used to estimate x_((i+1)).

To avoid this possibility that impairs the decoding processing, this embodiment of the invention can consider not only the sliced estimate {circumflex over (x)}_((i)) but also the neighbors of the raw estimate (non-sliced) {hacek over (x)}_((i)).

FIGS. 6A, 6B, 6C, 6D show the constellation diagram associated with a QAM 256 modulation scheme, with the successive determination of subsets C1, C2, C3, C4 corresponding the successive receiving circuits RCV1, RCV2, RCV3, RCV4.

In FIG. 6A, the subset C1 is depicted as a square around the raw estimate {hacek over (x)}₍₁₎. This subset comprises several possible estimates {circumflex over (x)}₍₁₎. The subset C1 can be determined as the minimal set of constellation points surrounding the raw estimate. In the example, there are 4 possible estimates {circumflex over (x)}₍₁₎₁, {circumflex over (x)}₍₁₎₂, {circumflex over (x)}₍₁₎₃, {circumflex over (x)}₍₁₎₄

These 4 direct neighbors are provided to the next receiving circuit RCV2. Each possible neighbor serves as basis for determining estimates {hacek over (x)}₍₂₎₁, {hacek over (x)}₍₂₎₂, {hacek over (x)}₍₂₎₃, {hacek over (x)}₍₂₎₄ for the second symbol x₍₂₎.

FIG. 6B shows these estimates on the constellation diagram. On the basis of these estimates, a subset C2 is determined as the constellation points which are direct neighbors of {hacek over (x)}₍₂₎₁, {hacek over (x)}₍₂₎₂, {hacek over (x)}₍₂₎₃, {hacek over (x)}₍₂₎₄. Consequently, in this example, 9 direct neighbors are determined within C2, {circumflex over (x)}₍₃₎₁, {circumflex over (x)}₍₃₎₂, {circumflex over (x)}₍₃₎₃, {circumflex over (x)}₍₃₎₄, {circumflex over (x)}₍₃₎₅, {circumflex over (x)}₍₃₎₆, {circumflex over (x)}₍₃₎₇, {circumflex over (x)}₍₃₎₈, {circumflex over (x)}₍₃₎₉.

These 9 direct neighbors are provided to the next receiving circuit RCV3. Each possible neighbor serves as basis for determining estimates {hacek over (x)}₍₃₎₁, {hacek over (x)}₍₃₎₂, {hacek over (x)}₍₃₎₃, {hacek over (x)}₍₃₎₄, {hacek over (x)}₍₃₎₅, {hacek over (x)}₍₃₎₆, {hacek over (x)}₍₃₎₇, {hacek over (x)}₍₃₎₈, {hacek over (x)}₍₃₎₉ for the third symbol x₍₃₎.

FIG. 6C shows these estimates on the constellation diagram. On the basis of these estimates, a subset C3 is determined as the constellation points which are direct neighbors of {hacek over (x)}₍₃₎₁, {hacek over (x)}₍₃₎₂, {hacek over (x)}₍₃₎₃, {hacek over (x)}₍₃₎₄, {hacek over (x)}₍₃₎₅, {hacek over (x)}₍₃₎₆, {hacek over (x)}₍₃₎₇, {hacek over (x)}₍₃₎₈, {hacek over (x)}₍₃₎₉. Consequently, in this example, 20 direct neighbors are determined within C3, {circumflex over (x)}₍₄₎₁, {circumflex over (x)}₍₄₎₂, {circumflex over (x)}₍₄₎₃, {circumflex over (x)}₍₄₎₄, {circumflex over (x)}₍₄₎₅, {circumflex over (x)}₍₄₎₆, {circumflex over (x)}₍₄₎₇, {circumflex over (x)}₍₄₎₈ . . . {circumflex over (x)}₍₄₎₂₀.

These 20 direct neighbors are provided to the next receiving circuit RCV4. Each possible neighbor serves as basis for determining estimates {hacek over (x)}₍₄₎₁, {hacek over (x)}₍₄₎₂, {hacek over (x)}₍₄₎₃, {hacek over (x)}₍₄₎₄, {hacek over (x)}₍₄₎₅, {hacek over (x)}₍₄₎₆, {hacek over (x)}₍₄₎₇, {hacek over (x)}₍₄₎₈ . . . {hacek over (x)}₍₄₎₂₀ for the fourth symbol x₍₄₎.

FIG. 6D shows these estimates on the constellation diagram. On the basis of these estimates, a subset C4 is determined as the constellation points which are direct neighbors of {hacek over (x)}₍₄₎₁, {hacek over (x)}₍₄₎₂, {hacek over (x)}₍₄₎₃, {hacek over (x)}₍₄₎₄, {hacek over (x)}₍₄₎₅, {hacek over (x)}₍₄₎₆, {hacek over (x)}₍₄₎₇, {hacek over (x)}₍₄₎₈ . . . {hacek over (x)}₍₄₎₂₀.

Consequently, in this example, 25 direct neighbors are determined within C4.

Consequently, 4 constellations C1, C2, C3, C4 have been defined, which define a subset of all the possibilities of the vectors x of emitted symbols. Each constellation comprises a much more reduced alphabet than the original alphabet (here 256 for a QAM-256 modulation scheme).

Then, the ML verification module MLV takes this subset as input to select a final estimate {circumflex over (x)}_(ML) for the vector x.

${\hat{x}}_{ML} = {\underset{{{\hat{x}}_{1} \in C_{1}},{{\hat{x}}_{2} \in {C\; 2}},{{\hat{x}3} \in C_{3}},{{\hat{x}}_{4} \in C_{4}}}{\arg \; \min}{{y - {H \cdot \hat{x}}}}^{2}}$

This embodiment allows decreasing the complexity of the ML-based solutions, by taking benefit of a reducing of the possible vectors x to consider through linear estimation methods. However this solution has dramatically better performance than the linear methods.

FIG. 7 shows a comparison of the performance of the QRM-MLD method and of the method of the invention, called “OSIC”. It shows BER (Bit Error Rate) versus SNR (Signal to Noise Ratio).

The QRM-MLD performances are depicted for a high complexity value, M=16. The OSIC method is shown with (OSICML) the ML step implemented by the ML verification module MLV, and without this ML verification.

It shows clearly that the performance of the OSIC method is similar to the high-complexity QRM-MLD method, supposed to be optimal. Due to the linearity of the method (except the ML verification step), the complexity is far lower and the ML verification step is performed on a limited constellation so that the overall complexity is still far lower.

The invention has been described with reference to preferred embodiments. However, many variations are possible within the scope of the invention. 

What is claimed is:
 1. A method for estimating a vector of emitted symbols over a MIMO transmission channel emitted by a first plurality of emitting antennas, comprising: receiving a vector of received symbols on a second plurality of receiving antennas; estimating said vector of emitted symbols by: calculating a metric associated with a criterion for each vector of a subset of all possible vectors of emitted symbols; and selecting an estimation for said vector of emitted symbol as the vector of emitted symbols among said subset which minimizes said metric.
 2. The method according to claim 1, wherein said metric is an Euclidian distance ∥y−H·x∥² associated with a criterion y −H·x, wherein y represents said vector of received symbols, x represents said each vector, and H represents a transfer function matrix for said transmission channel.
 3. The method according to claim 2, wherein said estimating comprises performing a QR decomposition of said criterion.
 4. The method according to claim 1, wherein said subset is determined by defining intervals for each symbols of the vector of emitted symbols, said intervals being provided by a sphere decoding process.
 5. The method according to claim 4, wherein said sphere decoding is performed by replacing the error terms by a predetermined factor.
 6. The method according to claim 1, wherein said subset is determined by replacing some of said symbols of said vector of emitted symbols by approximations.
 7. The method according to claim 6, wherein said approximation involves a slicing operation.
 8. The method according to claim 1, wherein said symbols are modulated by a QAM 16 modulation scheme.
 9. The method according to claim 1, wherein the method is implemented as a computer program comprising program instructions stored in a memory, said program instructions being loadable into and executed by a data processing unit.
 10. A receiver adapted for estimating a vector of emitted symbols over a MIMO transmission channel emitted by a first plurality of emitting antennas, comprising: a receiving circuit configured to receive a vector of received symbols on a second plurality of receiving antennas; a processing circuit configured to estimate said vector of emitted symbols by calculating a metric associated with a criterion for each vector of a subset of all possible vectors of emitted symbols and selecting an estimation for said vector of emitted symbol as the vector of emitted symbols among said subset which minimizes said metric.
 11. The receiver according to claim 10, wherein said metric is an Euclidian distance ∥y−H·x∥² associated with a criterion y−H·x, wherein y represents said vector of received symbols, x represents said each vector, and H represents a transfer function matrix for said transmission channel.
 12. The receiver according to claim 11, wherein said processing circuit estimates by performing a QR decomposition of said criterion.
 13. The receiver according to claim 10, wherein said processing circuit is adapted to determine said subset by defining intervals for each symbols of the vector of emitted symbols, said intervals being provided by a sphere decoding process.
 14. The receiver according to claim 13, wherein said sphere decoding comprises replacing the error terms by a predetermined factor.
 15. The receiver according to claim 10, wherein the processing circuit is further adapted to determine said subset by replacing some of said symbols of said vector of emitted symbols by approximations. 